package com.wei.czz.framework.common.service;

import com.wei.czz.common.tool.PageDto;
import com.wei.czz.common.vo.common.sms.SmsTemplateFormVo;
import com.wei.czz.framework.common.entity.SmsTemplateEntity;

import java.util.List;

/**
 * Created by IntelliJ IDEA.
 *
 * @author wei
 * date: 2024-06-17 21:41:28
 * className: SmsTemplateService
 * version: 1.0
 * description:
 */
public interface SmsTemplateService {

    /**
     * 保存短信模板操作
     * @param smsTemplate 短信模板对象
     */
    void saveOrEdit(SmsTemplateEntity smsTemplate);

    /**
     * 获取短信模板操作
     * @param type 短信类型
     * @return 短信模板对象
     */
    SmsTemplateEntity find(Integer type);

    /**
     * 分页获取短信模板操作
     * @param smsTemplateFormVo 参数对象
     * @return 短信模板分页数据
     */
    PageDto<SmsTemplateEntity> getPageList(SmsTemplateFormVo smsTemplateFormVo);

    /**
     * 获取短信模板操作
     * @param id 主键
     * @return 短信模板对象
     */
    SmsTemplateEntity get(Long id);

    /**
     * 获取短信模板操作
     * @param idList 主键列表
     * @return 短信模板对象列表
     */
    List<SmsTemplateEntity> getList(List<Long> idList);

    /**
     * 乐观锁更新短信模板操作
     * @param smsTemplate 短信模板对象
     */
    int optimisticUpdate(SmsTemplateEntity smsTemplate);

    /**
     * 批量修改短信模板操作
     * @param smsTemplateList 短信模板对象列表
     */
    void batchUpdate(List<SmsTemplateEntity> smsTemplateList);

    /**
     * 删除短信模板操作
     * @param idList 主键列表
     */
    void delete(List<Long> idList);
}

